<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>算法无用论？算法到底为了什么？</title>
    <meta content="1200" property="og:image:width"/>
    <meta content="630" property="og:image:height"/>
    <link rel="icon" href="../../img/icon.png">
    <link as="font" crossorigin="" href="../../Agrandir-Heavy.2fd076131b76.woff2" rel="preload"
          type="font/woff2"/>
    <link as="font" crossorigin="" href="../../Agrandir-Bold.5adcade67872.woff2" rel="preload"
          type="font/woff2"/>
    <link as="font" crossorigin="" href="../../source-sans-pro-v14-latin-regular.899c8f78ce65.woff2"
          rel="preload" type="font/woff2"/>
    <link as="font" crossorigin="" href="../../Agrandir-Regular.11a4ceb99823.woff2" rel="preload"
          type="font/woff2"/>
    <link as="font" crossorigin="" href="../../source-sans-pro-v14-latin-600.c85615b29630.woff2" rel="preload"
          type="font/woff2"/>
    <link href="../../common.0016184b0568.css" rel="stylesheet" type="text/css"/>
    <link href="../../home.a12d472bcf09.css" rel="stylesheet" type="text/css"/>
    <link href="../content-page.css" rel="stylesheet" type="text/css"/>
</head>
<header class="site-header">
    <br/>
    <h1 style="margin: 0 auto;text-align: left;margin: 0 50px;color: white;font-size: 3.5rem">
        <img src="../../svg/icon-white.svg" height="80" width="80"/>&nbsp;&nbsp;Neil's wiki
        <button class="subscribe" onclick="location.href='../subscribe/index.html'">Subscribe</button>
    </h1>
    <br/>
</header>
<body class="content-body">
<div class="content-body-class">
    <h1 class="hosting-pricing-plan-block__header">算法无用论？算法到底为了什么？</h1>
    <div class="content-infos">
        <div class="content-h1">
            误入迷谭
        </div>
        <div class="content-words">
            算法该不该成为考核普通开发岗位求职者的标准？这个问题议论纷纷，莫衷一是。其实，美国的许多软件巨头公司中，除了专门做算法的某些岗位，很少有面试当场考察算法题——例如Google。
        </div>
        <div class="content-words">
            随着Google的巨大成功，国内的许多企业、作家纷纷效仿Google的运营模式与招聘模式，于是便有了铺天盖地的算法面试。国内各个算法网站也随之应运而生。算法面试的初衷很好：考察求职者的智力、思维模式、功底与临场发挥能力。
        </div>
        <div class="content-words">
            但人都是贪心的，总希望用最少的付出得到最大的回报，在 2015 年便有了 LeetCode 这种直接收集各家大公司面试题库的网站。刚开始的时候，只要把 LeetCode 里面的题目刷完，基本等于手握大厂 offer。
        </div>
        <div class="content-words">
            但是原本考察算法题的初衷，并不是为了看求职者是否做过原题，求职者刷题的做法与其背道而驰。这股歪风邪气越刮越猛，甚至改变了相当多开发者的价值观。
        </div>
        <div class="content-h1">
            贫瘠的思想
        </div>
        <div class="content-words">
            我见过许多令人大跌眼镜的代码，例如递归或循环里读写数据库、数据整理操作绕了百八十个弯……算法只用于应付面试岗的智力题却不融于开发让人深思。软件工程师生产代码应该是一件富有思维与技术难度的事。
        </div>
        <div class="content-h1">
            算法的价值
        </div>
        <div class="content-words">
            说到算法，就不得不提起它的孪生兄弟：数据结构，数据结构与算法是计算机世界的基石。我们使用的框架中封装了大量精妙的算法与数据结构的设计。虽说不会算法也能开发，但会算法可以如虎添翼。
        </div>
        <div class="content-words">
            如果开发者掌握算法，就非常清楚在何时、何种业务场景下该使用什么样的算法、数据结构模型，而不是一头莽撞、不加思考地开发“流水线代码”。几十年积累下来的经典数据结构——栈、队列、链表、树……也会被开发者牢记于心。长此以往，开发者的思维模式、开发产出就不同如前。
        </div>
        <div class="content-words">
            算法的练习应该是日常生活中的一部分，而不是用于应付面试岗的智力题。
        </div>
    </div>
</div>
</body>
</html>
<div class="back-to-home-page">
    <a class="call-to-action__link button" href="/">返回首页</a>
</div>
